home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / HAIRPIN.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-28  |  4.5 KB  |  140 lines

  1. 10  'HAIRPIN - Hairpin match for Yagi antennas - 10 MAR 95  rev.27 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"      'if ex$ not chained from previous program
  3. 30  IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
  4. 40  COMMON EX$,PROG$
  5. 50  CLS:KEY OFF:COLOR 7,0,1
  6. 60  UL$=STRING$(80,205)
  7. 70  U1$="#####.###"
  8. 80  U2$="###.#"
  9. 90  PI=3.14159
  10. 100  '
  11. 110  COLOR 15,2
  12. 120  PRINT " HAIRPIN MATCH for YAGI ANTENNAS";
  13. 130  PRINT TAB(55);"by Tom Cefalo Jr., WA1SPI ";
  14. 140  PRINT STRING$(80,32);
  15. 150  LOCATE CSRLIN-1,20:PRINT "edited for HAMCALC by George Murphy VE3ERP"
  16. 160  COLOR 1,0:PRINT STRING$(80,223);:COLOR 7,0
  17. 170  MARGIN=7
  18. 180  PRINT TAB(MARGIN);
  19. 190  PRINT "This program is adapted from WA1SPI's review of the Hairpin ";
  20. 200  PRINT "beta-match"
  21. 210  PRINT TAB(MARGIN);
  22. 220  PRINT "which was published in the Summer 1994 edition of Communications"
  23. 230  PRINT TAB(MARGIN);
  24. 240  PRINT "Quarterly, pp. 49-54. Refer to this article for theory of operation"
  25. 250  PRINT TAB(MARGIN);
  26. 260  PRINT "and construction details."
  27. 270  PRINT
  28. 280  '
  29. 290  '.....schematic
  30. 300  TB=19
  31. 310  COLOR 0,7
  32. 320  LOCATE ,TB:PRINT "                    BSAVE BSAVE                    "
  33. 330  LOCATE ,TB:PRINT "                    CALL CALL                    "
  34. 340  LOCATE ,TB:PRINT "            Boom SOUNDSOUNDDEFDBLCALL CALL                    "
  35. 350  LOCATE ,TB:PRINT "                 VARPTRUSRSOUNDMOTORSOUNDMOTORSOUNDUSRCOLORDEFSNGSOUNDSOUND Shorting bar "
  36. 360  LOCATE ,TB:PRINT "                 CLSSPC(SOUNDBSAVESOUNDBSAVESOUNDSPC('    bolted to    "
  37. 370  LOCATE ,TB:PRINT "  Hairpin rods SOUNDSOUNDDEFDBLOPENSOUNDBEEPSOUNDBEEPDEFDBLOPEN     boom         "
  38. 380  LOCATE ,TB:PRINT "                  OPEN CALL CALL OPEN                  "
  39. 390  LOCATE ,TB:PRINT " VARPTRDEFDBL THENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOCATE<0xCB!>INSTR<UNK! {FED8}><0xCB!>LOCATETHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHEN    "
  40. 400  LOCATE ,TB:PRINT " CLS Driven element  OPENCLSSOUND'OPEN                   "
  41. 410  LOCATE ,TB:PRINT " (split at centre)VARPTRUSRSOUNDSOUNDSOUNDUSRCOLOR                  "
  42. 420  LOCATE ,TB:PRINT "                  CALL 1:1 CALLDEFSNGSOUNDSOUND Balun         "
  43. 430  LOCATE ,TB:PRINT "                  CLSSOUNDSOUNDPOINTSOUNDSOUND'                  "
  44. 440  LOCATE ,TB:PRINT "                     CSRLIN DEFSNGSOUNDSOUND Feedline        "
  45. 450  LOCATE ,TB:PRINT "                                           "
  46. 460  COLOR 7,0
  47. 470  LOCATE 24,14
  48. 480  COLOR 14,4
  49. 490  PRINT "........Press <1> to CONTINUE or <0> to EXIT.........";
  50. 500  COLOR 7,0
  51. 510  Z$=INKEY$
  52. 520  IF Z$="0"THEN CLS:CHAIN GO$
  53. 530  IF Z$="1"THEN LOCATE CSRLIN-1:PRINT STRING$(80,32);:GOTO 550
  54. 540  GOTO 510
  55. 550  GOSUB 1270      'screen dump
  56. 560  '
  57. 570  VIEW PRINT 2 TO 24:CLS:VIEW PRINT:LOCATE 2:PRINT UL$;
  58. 580  PRINT " Press number in < > to choose standard units of measure:"
  59. 590  PRINT UL$;
  60. 600  PRINT "   < 1 >  Metric"
  61. 610  PRINT "   < 2 >  U.S.A./Imperial"
  62. 620  Z$=INKEY$
  63. 630  IF Z$="1" THEN UM=25.4:UM$="mm.":GOTO 660
  64. 640  IF Z$="2" THEN UM=1:UM$="in.":GOTO 670
  65. 650  GOTO 620
  66. 660  '
  67. 670  '.....data input
  68. 680  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  69. 690  GOTO 760
  70. 700  '
  71. 710  '.....format entry
  72. 720  LOCATE CSRLIN-1:PRINT "       ";
  73. 730  LOCATE CSRLIN,58:PRINT USING U1$;Y;
  74. 740  RETURN
  75. 750  '
  76. 760  INPUT " ENTER: Frequency.........................................(MHz) ";F
  77. 770  Y=F:GOSUB 710:PRINT " MHz  ":F=F*10^6
  78. 780  INPUT " ENTER: Antenna Feedpoint Resistance.....................(ohms) ";RA
  79. 790  Y=RA:GOSUB 710:PRINT " -    "
  80. 800  INPUT " ENTER: Transmission Line Impedence......................(ohms) ";ZO
  81. 810  Y=ZO:GOSUB 710:PRINT " -    "
  82. 820  IF RA<ZO THEN 900
  83. 830  '
  84. 840  BEEP:LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1,8:COLOR 0,7
  85. 850  PRINT " Impedence must be greater than Feedpoint Resistance";
  86. 860  PRINT "....press any key.":COLOR 7,0
  87. 870  IF INKEY$=""THEN 870
  88. 880  BEEP:LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1:GOTO 800
  89. 890  '
  90. 900  PRINT " ENTER: Hairpin Rod Diameter.............................(";UM$;")";
  91. 910  INPUT D:D=D/UM
  92. 920  Y=D*UM:GOSUB 710:PRINT " ";UM$
  93. 930  PRINT " ENTER: Hairpin Rod Spacing ( centre-to-centre ).........(";UM$;")";
  94. 940  INPUT S:S=S/UM
  95. 950  Y=S*UM:GOSUB 710:PRINT " ";UM$
  96. 960  '
  97. 970  '.....calculate
  98. 980  XA=SQR((ZO*RA)-RA^2): XL=ZO*RA/XA: A=S/D
  99. 990  ZHP=120*LOG(A+SQR(A^2-1)): EL=ATN(XL/ZHP)*180/PI
  100. 1000  PHYL=(3E+08*EL*39.37*0.975)/(F*360)
  101. 1010  ZIN=SQR((XA*XL)^2+(XL*RA)^2)/SQR(RA^2+(XL-XA)^2)
  102. 1020  THETA#=ATN(RA/XA)-ATN((XL-XA)/RA): L=XL/(2*PI*F)
  103. 1030  RE=ZIN*COS(THETA#): IM=ZIN*SIN(THETA#)
  104. 1040  K=RE/ZO: P=SQR((K-1)^2+IM^2)/SQR((K+1)^2+IM^2)
  105. 1050  V=(1+P)/(1-P)
  106. 1060  '
  107. 1070  PRINT "        Adjust Antenna Capacitive Reactance..............";
  108. 1080  PRINT USING U1$;XA;:PRINT " -"
  109. 1090  PRINT
  110. 1100  PRINT "        Hairpin Impedance................................";
  111. 1110  PRINT USING U1$;ZHP;:PRINT " -"
  112. 1120  PRINT "        Equivalent Inductance............................";
  113. 1130  PRINT USING U1$;L*10^6;:PRINT " >H"
  114. 1140  PRINT "        Electrical Length................................";
  115. 1150  PRINT USING U1$;EL;:PRINT "<UNK! {00F8}>"
  116. 1160  PRINT "        Physical Length..................................";
  117. 1170  IF UM=1 THEN M=1:M$="in." ELSE M=2.54:M$="cm."
  118. 1180  PRINT USING U1$;PHYL*M;:PRINT " ";M$
  119. 1190  IF SGN(IM)=-1 THEN A$="-j"ELSE A$="+j"
  120. 1200  PRINT "        Impedance Seen by the Transmitter................";
  121. 1210  PRINT USING U1$;RE;:PRINT A$;USING U2$;ABS(IM);:PRINT " -"
  122. 1220  PRINT "        VSWR.............................................";
  123. 1230  PRINT USING U1$;V;:PRINT ":1"
  124. 1240  PRINT UL$;
  125. 1250  GOSUB 1270:GOTO 10
  126. 1260  '
  127. 1270  'HARDCOPY
  128. 1280  GOSUB 1390:LOCATE 25,2:COLOR 14,6
  129. 1290  PRINT " Press 1 to print screen, 2 to print screen & ";
  130. 1300  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  131. 1310  Z$=INKEY$:IF Z$="3"THEN GOSUB 1390:RETURN
  132. 1320  IF Z$="1"OR Z$="2"THEN GOSUB 1390:GOTO 1340
  133. 1330  GOTO 1310
  134. 1340  FOR QX=1 TO 24:FOR QY=1 TO 80
  135. 1350  LPRINT CHR$(SCREEN(QX,QY));
  136. 1360  NEXT QY:NEXT QX
  137. 1370  IF Z$="2"THEN LPRINT CHR$(12)
  138. 1380  GOTO 1280
  139. 1390  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  140.